refactor: use properties on ngNode instead of accessor functions

Also changes directive annotations: export -> observe
chore: fix gulp templates

Export missing globals:
- HTMLInputElement
- HTMLSelectElement
chore: enable on-the-fly compilation again
feat: bind and observe properties in directive annotation

bind: bind properties of directive instance to the node
observe: observe expressions in the directive instance
refactor: make ViewFactory and Selector singletons, and convert ElementBinder into POJO
refactor: new folders util and loader
WIP: xxx