Reduce allocations in decorator
The GitLightweightDecorator created a new DecorationHelper for each
object to be decorated. That's not necessary; the DecorationHelper is
stateless. Use a singleton instance instead.
Also use a singleton instance ResourceState for ignored resources. For
such resources:
* we're not interested in any of the other properties,
* the default values of the other properties are fine.
While these allocations are not the cause of the slowness of updating
decorations, they add unnecessary overhead, memory usage, and pressure
on the garbage collector.
Bug: 500106
Change-Id: If80e60029c6b9f821ea4ff6f18d4cd95835fb96b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>