Giving CaretComponent a bit of love

I actually agree re: visibility. A setter for the width has also been requested before.

The only confounding problem (for me) is it means I’d still have to call CaretComponent::setCaretPosition from my overridden setCaretPosition. I don’t want to call that base method, as it toggles component visibility, triggering unwanted repaints. I guess I could pass a timer into my derived caret and handle the timing/visibility logic myself, however.

So yeah, the PR is the smallest change that increases flexibility, right now that class is pretty hard to derive from…