Layer refactor

- Changed Behavior element to target QQuickItem elements instead of only Entity elements, now we can use scripts to update a bigger range of elements, such as Layers and user created elements.
- Now the Layer uses a behavior to update itself; That will enable us to create ScrollingBehavior for ImageLayers (there is one in this PR), Another scene types that automatically scrolls its entities, etc.
- Now the ImageLayer supports vertical scrolling; This PR includes a small example of that.
- The mirrored image layer type doesn't work vertically yet; I will leave this for another PR that changes the way we handle mirroring (probably using shader instructions).
You need to add this to QMAKE_POST_LINK as well, so .qml files gets copied into the build dir

-QMAKE_POST_LINK = $$QMAKE_COPY $$PWD/qmldir $$OUT_PWD/imports/Bacon2D
+QMAKE_POST_LINK = $$QMAKE_COPY $$PWD/qmldir $$PWD/qml/*.qml $$OUT_PWD/imports/Bacon2D