[Fixes bug #1190864] Correct the hotspot of the text cursor.

This makes positioning text much easier.
[Fixes bug #1190169] Clear the selection when clicking in the Text Tool.

In addition to the bug in the report, this also fixes bugs where the
selection would "teleport" to the new location if you clicked somewhere
else in the text.
[Fixes bug #1082663] Fix a few bugs with the text tool and selections.

The text tool now stores the original selection from when the editing of
that piece of text started. This ensures that the text doesn't suddenly
disappear or reappear if the selection changes before the text gets
finalized.
[Fixes bug #1191233] Add a null check in the text tool.
Make the OnMouseMove method abstract for BasePaintBrush.

Every brush needs to implement this differently, so it doesn't make
sense to have a default implementation.
Add some documentation for brush-related APIs.
Update the PaintBrush tool when a brush is added or removed.

Previously, you would need to restart Pinta after installing a custom
brush add-in.
Minor documentation update.
[Fixes bug #1191470] Fix bug with the paintbrush cursor not updating.
[Fix for #1190899] Clicking outside canvas with Move Selected Pixels or Gradient tool selected should have no effect