Improved support for custom shaders, added demo

Demo2 now has a custom shader, which simulates a sun-cycle (it's not
that good, don't use it unedited for your game).  There's also an update
method for BlockHandler, in case you want to update your block
definitions over time (?).