Add toggle case action to inline color editor

For #9519.

### Features ###
* Preserves case between value conversions and slider changes
* Related code updated to be case-insensitive
* New tests for conversion, with all existing tests passing
* Also made some minor code style fixes

This code is rather confusing (as already documented), so it was a bit of a challenge to get this written up. I once spent 30 digging around in various places for a one-line fix.

Now for the issues present here:
* This requires an update to [TinyColor v1.1.0+](https://github.com/bgrins/TinyColor/releases/tag/1.1.0), included with this PR. The creator refactored the library quite a bit since the v0.9.10 version currently used. TinyColor also unconditionally converts input to lowercase, which would make us have to keep track if the input is uppercase or not (which, in line with the previously documented issues, would be very hard because of the changing types). I have worked with Brian on the aforementioned patch to store the original input, which in turn makes this patch much easier to work out.
Sorry, I wasn't clear. I think it needs to be done *both* ways.

This initializes setting when inline editor is opened:

```js
    this._isUpperCase = PreferencesManager.get("uppercaseColors");
```

As long as you close inline editor, change preference, and re-open inline editor, then everything should work correctly.

The following block of code handles case where preference is changed while inline editor is open.

```js
    PreferencesManager.on("change", "uppercaseColors", function () {
        this._isUpperCase = PreferencesManager.get("uppercaseColors");
    }.bind(this));
```