Add template property bindings in deserialization

Supports bindings to the owner's template property only if the reference is made through an external object.

It may sound awkward but this is the case when we're dealing with components that were imported from other templates through data-param. This is the main point of having template properties, to give internal access to parameters.

Since labels can now have a colon we can use this to speed up template property's resolution time during bindings by creating an entry in the serialization that matches both component and property name like "repetition:iteration": {}. It's less flexible because the exact right label needs to be computed but faster during template creation and instantiation.