Rewrote the basic entity state synchronization

- Remove all existing entity state synchronization logic
- Reimplement client-side prediction (without server reconciliation)
- Rewrote the logic for processing user commands (both client and server)
- Introduce a new shared StateHistory class to handle game state history
- Add new configuration parameters for the sync
- Add a List utility class for list based classes
Add client-side entity interpolation

- Rewrote client sync (add support for interpolation and extrapolation)
- Add more configuration options
- Add packet sequence to state history
- Remove unused class EntityState
Add client-side reconciliation

- Re-implement entity synchronization event
- Add sync component for synchronizing entities (other than player)
- Add support for setting the synchronization rate separately
- Add some functionality to the List utility class
- Remove client and server entity classes
Merge branch 'feature/world-sync' into develop