Introduce GAMMARAY_{CORE,UI}_EXPORT macros

Split up GAMMARAY_EXPORT macro for that.
Add a shared library for UI components needed by plugins.

This should hopefully make the export situations much more sane, let's see
if the Windows CI agrees.
Move core/hooking to hooking/

hooking/ builds gammaray_probe which actually *uses* libgammaray_core
from core/, so it doesn't make sense to keep it in a subdirectory
Make the widget inspector a plugin.

Now all widget-dependent tools should be plugins.
Attempt to fix the Windows build of the launcher.
Try to make compile: Reorder libraries
Apply the same static lib reordering fix for Qt5 as well.
Not necessary
Fix forward declaration
Those are in a shared library now.

Should make mingw happy.
Use const/ref
Used in the widget inspector plugin, so export it.
Expose the widget tree model to the client.
Move selection handling to selection rather than current index.

Necessary in order for this to work remotely.
Export the ObjectServer, will be needed by plugins.
Move most of the communication code into the shared library.

It's needed by plugins, and static linking has interesting side-effects
with the Endpoint singleton.
Call local slots also without explicit registration.
Decouple UI and model code a bit more, simplifying the core/UI split.
Stop proxy chain traversal on the first registered model.

Even if it's a proxy. Fixes widget tree selection for example, which
otherwise isn't even published since it's just a proxy for the general
object tree.
Basic core/UI split of the widget inspector.