Implement bottle angel shift (and the underlying shift management code)
Dropping whatever I have up to now so other can start hacking on it as well. A short summary of the changes:
- Introduction of a shift management system. The heaven generates a shift which then gets to decide the level and modify the in-game environment with all its shift-specific needs.
- The player component holds "persistent" player state like collected angel-hours and is passed between heaven and in-game state.
- Implementation of the "Bottle Angel" shift where the player has to collect bottles from all drop points. Once done, they get awarded their hours of work and will return to heaven.
Fixes #12 (closed).