Fix #20703 - Key sig changes lack naturals (3rd solution)

When a key sig changes, no natural is ever displayed, regardless of the "Hide naturals" property of the key sig.

Corrected by:
- adding methods to KeySig to locate the prev and next key sigs and update naturals accordingly when a key sig is added or removed
- in Score::addElement(), Score::removeElement() and undo's ChangeElement::flip() by calling the relevant KeySig method

Notes:
1) Covers updating naturals in following key sigs, if a previous key changes.
2) Fully integrated in undo
3) The fix is already predisposed to cope with a score style setting for natural display style: none, before, after accidentals. Until this style is implemented, the relevant code is commented out.
Fix #21040: closing the Synth Control window with its own close button leaves the "View | Synth" menu item checked.

Fixed by connecting SynthControl::closeEvent() with the relevant action's setChecked()
Fix #21039 - Inspector: VBox height, HBox width and Spacer gap have wrong values

Fixed by changing the type of P_BOX_HEIGHT, P_BOX_WIDTH and P_SPACE properties
Updated MIDI import panel
Fix MIDI instrument names
MIDI import operation: dots instead of ties
update instruments.xml with electronic instruments
Any instrument which does not have string data is given a default guitar-like string set.

Changed to a default empty string set.

This also allows to filter out TAB staff types in staff props dlg box for an instrument without strings defined.
Merge pull request #346 from mgavioli/Fix_21040_View_Synth_check_not_synched

Fix #21040: "View | Synth" menu item check not synched with synth window visibility
standardize dialog/menu state interaction
Merge pull request #347 from mgavioli/Fix_21039_wrong_sizes_in_inpector

Fix #21039 - Inspector: some elements have wrong sizes
fix #20320
Merge pull request #348 from mgavioli/remove_guitar_as_default_tablature

Remove guitar as default string set
update icons, now white
Instrument Wizard (incl. New score Wizard):

Staff type presets listed in the preset combo boxes are filtered out according to instrument data:

- if has string data, allow normal and tab presets
- if has drum set, allow percussion presets only
- if has neither, allow normal preset(s) only

Also:

Staff Props dlg box: completes filtering out of perc. staff types (and fixes two bugs!)
STAFF PROPERTIES dlg box:

Hide string data controls if the staff instrument has no strings.
Set the tightbbox for unparsed chords.

... to ensure that they get spaced correctly.
Merge pull request #350 from mgavioli/Instr_wizard_filter_staff_types

Instrument Wizard: filter staff presets according to instr. data
add namespace Ms
Merge pull request #351 from mgavioli/STAFF_PROPS_hide_str_data_controls

STAFF PROPERTIES dlg box: Hide string data