Split backend components

Move backend to its own namespace.
Move Signaler to its own file.
Move backend's components to its own file.

Yes, this is a file split only. The new backend/frontend communication code comes after this.
But since I'm working daily in that code I need to be as similar as possible with `develop`, otherwise is a hell of a rebase.