Nested models

Nested models will simplify reusing models and form/widgets. The idea is to allow models to have a sub-models which will assigned and updated automatically. 

1. Each model have a unique modelId.
2. Each model can have sub-models.
3. Each model has bind method that will update and validate the model properties and its sub-models.
4. Each form/widget has attach method which connect it to a model

nestmodel demo shows how this feature can be used.