~octaspire/crates2

Merge branch 'feature/3D'
Continue with 3D representation
WIP: Continue with 3D representation
Make top parts (e.g. numbers, gears) visible in 3D representation
Implement initial special power for jumping

 * Implement special power crate that moving
   crates can collect. Player can have zero
   to N of special powers and every ACTION1
   uses one. Jumping allows player to jump
   over vacuums, if the jump is timed correctly.
   (another way to get through a vacuum is to
   push a crate into it to break it.)

   Player cannot jump on top of other crates,
   because that would look OK only in the 3D
   representation. This kind of limited jumping
   can be shown as real jump in 3D and with
   larger visual in 2D and textual modes.

 * Modify input handling. Pending input handling
   is moved inside player, because it is something
   that is of interest to a player crate only.

 * Do small refactoring. Remove duplicate code;
   remove the same function from 2D and 3D
   representations and move it into a common file
   used by both.
WIP: Continue with 3D representation
WIP: Continue with 3D representation
WIP: continue with 3D representation
WIP: Continue with 3D representation
WIP: Continue with 3D representation
WIP: Continue with 3D representation
WIP: Continue with 3D representation
WIP: Continue with 3D representation
WIP: Continue with 3D representation
WIP: Start to implement 3D representation
Merge branch 'feature/2D'
Continue with 2D and textual representations
Continue with 2D and textual representations
Continue with 2D and textual representations
Continue with 2D and textual representations
Next