I've gone through every method on this SPI, I'm pretty sure that through overriding `Global.onRequestReceived`, a single instance of this can be instantiated, and then using nothing but Play public API, all the methods on this can be invoked at the right time.  This includes error reporting, on handler not found etc, and correctly reporting the responses of these.

Not only will this make things much simpler in Play, but it will probably offer a higher level of confidence that we don't break anything - because all Play needs to ensure is that the public API works as expected, whereas I can see us making changes and forgetting to invoke the SPI in the custom places that we have now.  It also means that when we move to different backends, it's still guaranteed to work.