ITargetDefinition instances were never removed
from a cache where they are used as a key.
These objects retain a lot of memory and caused severe memory leak on
target definition reloads.
ITargetDefinition have reference identity, which means they can't be
recreated to address same cache key after losing a reference to
original object.
It is safe to replace a strong-reference map with weak-key map under
these circumstances.
Signed-off-by: Vasili Gulevich <vasili.gulevich@xored.com>
Change-Id: Ic07bcac96e64e535f1bb48c8e7c89da67d30e92c