Give glslify transform streams.

Transforms are handled much like browserify. You can pass a
`transform` option to the second argument, which takes an
array of transforms. You can pass string values and they'll
be resolved automatically.

The transform streams themselves are functions which take
a `filename` argument and return a through stream that
transforms the input.

Additionally, the `cwd` option has been added, which
determines where to resolve transform streams from. It
defaults to the target shader's directory.

glslify.resolve has been exposed to make it possible to mimic
glslify's file resolution, but it's probably worth pulling
out into its own module in the future.