feat(elementBinder): introduce element binder.

It is a plain-old-data class to seperate the protoInjector from the
textNodes and elementBinding data.
feat(Change Detection): Implement collection changes
feat(Change Detection): Implement map changes