Polished and modularized API

Fixes #4

* [x] Modularize Shrinkroute core, utils and Route object
* [x] Automatically use Shrinkroute middleware
* [x] Update README
* [ ] Bump version
* [x] Update dependencies