gui2/tgamestate_inspector: Use write() function for printing WML objects

The write() function from the WML parser is a dedicated WML
serialization mechanism that is also used to write saved games and such,
and thus it will output WML in the same format that the game would
normally use. The config::debug() method we were using here before,
instead, only implements a simplified strategy that will not produce
valid multiline attribute values, for example, or include any textdomain
directives applicable to the contents.

If we are to have a way to copy the inspect window's contents, it should
prove far more convenient for coders to see the generated WML in the
same format as it would normally be saved to disk.
gui2/tgamestate_inspector: Add a button to copy contents to clipboard

This copies the contents of the main display area to clipboard. The
button currently lacks a tooltip because the tooltip causes map labels
to glitch through the dialog when displayed (noticeable in e.g. the test
scenario). I'll file a bug for this issue later using a (commented-out)
line introduced by this commit as a test case.
Merge branch 'backport/1.12/inspect-copy-paste' into 1.12