Simplify hardware cursor construction (no parameter required).
Previously hardware cursor implementations were expected to show on construction with a given image. We now instead hide on construction but show an image immediately after as part of the default configuration policy.
Aside from providing a simpler interface, this is required as a prerequisite for runtime fallback to the software cursor when the hardware cursor won't be used (both cursors exist but never more than one of them shown). This is also a prerequisite to fixing bug 1662760.
Assuming that a hardware cursor might only fail during construction was a poor design. Going forward we will need to deal with a hardware cursor that might become unusable or undesirable at any point in its life. Fixes: https://bugs.launchpad.net/bugs/1639226.
Approved by mir-ci-bot, Daniel van Vugt, Chris Halse Rogers.