Added support for more complex statements

Now every component updates (if addToData === true)
#with has a "scope" prop (the system gets the objects faster since we use a prototypal inheritance and no longer we need to work with path strings. e.g. "parent.child.prop")
#with has a "update" function now