use Silex.
handle drupal_json_encode and drupal_goto.

these functions don't return anything to drupal's delivery handler, so the stash a response object in the application that is picked up if the page callback result is null.
Capture all Drupal efforts to set HTTP headers so they can be added to response after callback.
give symfony access to the drupal session.
idiosyncratic Drupal error handling is deprecated.
throwing the not found exception prohibits the use of other controllers. silex has its own 404 pages.
make drupal_goto() kernel friendly.
make drupal_json_output more kernel friendly.
remove response object stashed in container.
ignore vendor.
stash headers and status code in service container.
throw exception for banned IPs.
various deprecation notices and simple rewrites to error controllers.
remove priorities and document the ones selected.
ambitious deprecations.