Add options.resolve and options.read

* `options.resolve` allows you to specify a custom resolution algorithm to use in place of glsl-resolve.
* `options.read` lets you use your own method for reading files, potentially allowing glslify to run in the browser.

@mikolalysenko @mattdesl this may help with chrisdickinson/glslify#12, and it's also useful for me to write a requirebin-style API for shaders :)