test: add jshint
refactor: extract solidify/liquify into own modules
test: add liquify tests
test: solidify tests
refactor: extract request into injection
api: add channel stream
api: re-imagine api
api: rpc generates api directly

you don't have to pass in a working api,
the rpc class can generate the api from
a passed in dictionary of interface.
test: add full happy path test
test: handle thrown errors
docs: update README
refactor: extract router code