Custom Material Types/Parameters

This adds two optional parameters to both `Texture` and
`Texture.loadTexture`: `materialType` and `materialParams`.

`materialType` is for passing through a custom material, which opens up
the possibility for custom block shaders. `materialParams` allows
you to pass more parameters to each new material's constructor, e.g.
`color` as seen in the demo.
Merge pull request #4 from hughsk/custom-materials

Custom Material Types/Parameters
Add custom material options to `loadTextures` also.
Don't handle material textures if they're not present.

Some three.js materials, such as `MeshNormalMaterial`, don't
have a `map` property because they don't handle textures.
Merge pull request #5 from hughsk/custom-materials

Tweaks for Custom Materials
Bump v0.2.2. Update example building
Fix Texture.rotate() for ShaderMaterial

ShaderMaterial can take a `map` property, but doesn't handle
updates automatically as with the built-in three.js materials.

This was preventing custom materials from being updated after
rotating.