feat #634 Mobile Touch Widgets

* Create a Button widget that highlight on tap (button, link)
* Create a Switch widgte as an extension of the slider, such widget has
* only two possible states

Close #634
feat #627 Touch dialog widget

Simple dialog widget,
- supporting animations
- use a macro for the content
- support touch events

Close #627
fix #658 Page Engine issue with pageDefinition.animation = null

This commit aims to fix a problem when pageDefinition.animation is set to null. Now the pageEngine load the page content in the wrong div. With this commit the pageEngine loads the page content inside the same div when the animation is set to null.

close #660