Mouse select blocks and a new demo project

You can now do raycasting and find the block which best interferes with
your vision at the center of your vision.  The code is a little bit
gross but I didn't see an elegant way to avoid repetition more than I
did.  Also, there's a new demo project (3) which showcases a sample
usage of this functionality.  Right click and left click alter the
settings, play with it.

Hopefully this sample code is useful to someone.