Agent API & Runtime Refactor

This PR introduces a Core Agent API that scans HTTP *User-Agent* headers for various bits, and then translates that to predictions about agent-side feature support.

Namely, I'm planning to detect things like vendor/OS/version/etc, and then translate those into predicted support for things like SPDY, WebP, Retina and WebSockets.