Pull WS API out of play core

Also, make the WS API lifecycle managed by a plugin.

A good idea too would be to make calls like WS.url() accept an implicit application, so WS no longer stores its state globally.