Use forward declared classes instead of *Handles for API definition.

This requires a few casts when passing in Kernel pointers, but otherwise
simplifies things.
Listen on the default address, specify just a port.
All Python tests pass.