feat(routing): New router architecture and faster default router

This replaces the routing logic with a new, faster strategy based on on-the-fly
generation of Python code. As part of replacing the logic, the architecture has
been refactored to decouple routing from falcon.API, thereby making it possible
for users to easily replace the default router with their own.

Closes #114