Use model units to define text boxes font size

[#57248996]
Convert text boxes font size from MML (instead of fontScale)

[#57248996]

Note that Classic MW has constant "nm to pixel ratio" which equals to
1:100. We can use in to define font size in 'nm'.
Don't force authors to overwrite all object properties in interactive JSON

[#57248996]

Previously when author wanted to overwrite text box "x" property,
he had to define its all properties in interactive JSON, e.g.:

"textBoxes": [
      {
        "text": "Separated Oil and Water",
        "x": 0.92,
        "y": 1.96,
        "layer": 1,
        "frame": "rounded rectangle",
        "fontSize": [
          0.12
        ],
        "backgroundColor": "rgb(232,231,231)",
        "anchor": "upper-left"
      }
    ]

Now it's enough to specify only options that you want to overwrite:

"textBoxes": [
      {
        "x": 0.92,
        "y": 1.96
      }
    ]
Tweak / fix / polish interactives after text boxes font size fix

[#57248996]
Revert "model fontScaling when actual aspectRatio != aspectRatio"

This reverts commit bb82fd4328ab932763ebd52d66bab5224c21e078.
Revert "when model is same size font will render the same"

This reverts commit 9cffd50d816d177e5d80969e0a45e6ad002fd4e3.
Revert "handle font-size for smaller and larger modelViews"

This reverts commit 3db1d3622cc84ee20d3059ce9f97bf7dfecea376.
Revert "isolate modelView from Interactive aspectRatio/font-scaling"

This reverts commit 1b4bc3db16259d0cffb5c03e00b00b179f8de138.
Update text fixtures after changes in text boxes definitions

[#57248996]
Fix text boxes in 'particleMixing'

[#57248996]
expose existing image properties to scripting api

[#57828832]
on more model font-scale layout test Interactive

[#57248996]
This adds a fifth interactive for testing font-scaling
issues in the model container.

This one adds a fontScale attribute with a value of 1.5
to the Interactive definition.
Add one-time callback registration
Re-factor isSensorConnected() to be async
More async refactor
Fix errors when clicking start
Need to use the new java code
Various sensor applet fixes

Fix code path where callback is never called.
Gracefully handle overlapping readSensor calls.
Handle state in readSensor better.
Update experiments to use new async sensor applet code
Fix error in clearing callbacks after use

We definitely shouldn't be clearing class instance methods!