Registers all *possible* methods of an object in a router. It will not register methods that use types that ddbus can't handle.
The implementation is rather hacky and uses the compiles trait to check for things working so if some methods randomly don't seem to be added, you should probably use setHandler on the router directly. It is also not efficient and creates a closure for every method.
TODO: replace this with something that generates a wrapper class who's methods take and return messages and basically do what MessageRouter.setHandler does but avoiding duplication. Then this DBusWrapper!Class could be instantiated with any object efficiently and placed in the router table with minimal duplication.