Add behaviors to Layer elements and a ScrollBehavior

The scroll behavior can update ImageLayer and entities inside a Layer
element. This behavior can be extended by adding new implementations and
handling the target type in the ScrollBehavior class.