Reverse Ghost Blocks

- Demo: http://youtu.be/SG6v3L8FqMY
- This PR also comes with some refactoring. Sorry. Content in last commit.
- If textures are too silly, I can try to underp (or even throw out pencils and crayons.