* Tweak the nudging factor for markers, and better UI for markers.
These changes are to improve AnimatedIcon workflow.
The nudging value of 0.01 was insufficient, so this ups it to 0.05.
The UI in LottieViewer for markers and the scrubber is confusing because it shows progress, which designers don't care about. So now it uses frames everywhere. Developers that need to convert to progress can do the math themselves (it's just (frame count) / (number of frames) plus a nudge.
* Make the arrow keys on the scrubber move by a single frame.
* LottieViewer UI now only deals in frames.
Seeing as LottieViewer is for designers, and they don't know about progress, the markers and scrubber will now only show frames information.
Also added more frame information to the Lottie properties.
Arrow keys now move by a single frame on each press.
* Fix the colors on hyperlinks and the playback rate slider.
The default colors for hyperlinks and sliders are themed, which can cause the colors to become unreadble on the gray background of the main page..
This is mostly a find-and-replace of the == null and != null checks.
This makes the code consistent, modern, and safe from equality overloading errors.
I have not replaced them in the generated code.
I have made the C# generator output the "is not null" pattern.
* Enable nullable reference types where possible.
This enables C# 8 nullable reference types. Many files have nullables disabled so I don't have to fix everything at once. I'll get them all enabled bit by bit. All new files default to nullable now.
* LottieViewer: allow palette colors to be changed, and markers in the info panel.
This change required more space for the color picker, and that it didn't cover up the playing Lottie, so the info and play speed and color picker are all now implemented as panels that slide out from the right.