Begin Direct API Split

Ok, so, trying to keep this one short and sweet :) Concept here is...

 * Direct management (CLI, Daemon) use `BuxtonControl`, which also has a BuxtonClient for normal interaction.
 * We hide the existing direct management stuff in `backend.{c,h}`
 * Introduce BuxtonConfig..

Only part there thats real interesting, which is why I've shortened this set, is BuxtonConfig. I remember we wanted to remove the static references from libbuxton, and store them somehow. My idea is to maintain them inside this new BuxtonConfig, and remove all backend loading, layer loading, etc, from libbuxton and put it all in backend.

Anyway, before we looked at a 500~ line diff, I thought I'd get some feedback first :) Once we complete this migration we can stick it all together as a static library.