Add synchronous API/tests/docs, general cleanup

This makes the API simpler/lighter to use in non-node/browserify environments, or when dealing with synchronous-only APIs.

Related: stackgl/glslify#31