Convert all source files to use forward declaration to the maximum.

In the process, all typedefs for QSharedPointer<Class> p, have been
removed. You can't forward declare class members, so they quickly
becomes useless; additionally there's little point in having half
the code use Class::p and the other half use QSharedPointer<Class>,
as that would be inconsistent and confusing.

A few header-only classes have been split into a .h and a .cpp.

So, the majority of headers now include either AXRGlobal.h or the header
of their parent class, which should be the goal in all future cases.
Some classes that have class members obviously include the headers where
those classes are declared, but as we aim to use pimpl across our entire
codebase we can eliminate those, and hopefully have most headers in our
codebase include no more than one header (AXRGlobal or parent
class(es)).

There is now a significant and noticeable speedup in compile time.

This is part of #210 but is not a complete fix because pimpl needs to be
used across the whole codebase to be able to complete the process.