by overwriting an occupied default shortcut, which treated user bindings like mod+d=duplicate-line-or-selection as stale
because that command is not in the default keybinding table. Now it only adds a default when the default shortcut is actually
free.
Added a regression test in src/tests/unit_tests/uicodeeditor_tests.cpp:108 covering the reported case: mod+d reassigned, then
an extra mod+e=show-markdown-preview binding exists. This was reported in SpartanJ/ecode#914.
• Implemented the splitter-level focus state cache, it will remember closed documents cursor state when reopened and it will restore cursor state per-code editor and not per-document (SpartanJ/ecode#893).