Branch/shader materials

This is not ready, I just wanted to get some eyes on it.

I added an example app at `public/shader-material`.

@eric79