Service/Client Split

ggp and I have been working on a service/client split, as required to create a service-only library for fennec.
Ohhh, I see :+1: