Structural Updates

- Characters handle movement animations within their own class
- Changing direction is handled by the MovementProvider
- All Providers can now access the Engine Context