First patch to add model delegates

This is mostly just a port of the WebKit code. It is not yet integrated into the
system so the unit test is just stand alone.

Future work will merge Binding/BindingSource/PlaceHolderBinding with these new
classes.

BUG=None
TEST=model_test.html: Added test for Model.setValueAtPath
     script_value_binding_test.html

Review URL: https://codereview.appspot.com/7037049
Add TextReplacementsBinding

This is currently only used in the unit test. Eventually this will be used to
replace the current Binding/BindingSource/PlaceholderBinding.

BUG=None
TEST=text_replacements_binding_test.html

Review URL: https://codereview.appspot.com/7036048
Port ElementAttributeBindings over to JS

BUG=None
TEST=element_attribute_bindings_test.html

Review URL: https://codereview.appspot.com/7030058
Inline parser into text replacement binding and update it to match latest thinking

BUG=None

Review URL: https://codereview.appspot.com/7030062
Add DOM APIs for bindings based on the new bindings code.

This adds the following:

Element.prototype.model
Element.prototype.modelDelegate
Text.prototype.addBinding
Text.prototype.removeBinding

Text.prototype.model
Text.prototype.modelDelegate
Text.prototype.addBinding
Text.prototype.removeBinding
Text.prototype.bindingText

Attr.prototype.bindingText

Which are now implemented using the new code ported from the WebKit branch.

This does not do the optimizations we did in the old code where we found the
model owner and used that to update dependent elements instead of walking the
whole DOM tree. This can be done as an optimization once I'm done with the new
implementation.

BUG=None

Review URL: https://codereview.appspot.com/7047044
temporary fix for Model.dirtyCheck reentrancy problem (calling Model.dirtyCheck while dirty checking can cause an iloop)
Merge branch 'master' of https://github.com/toolkitchen/mdv-polyfill