Miaschiev: Make reset one head statue work properly

I haven't worked out how to decode the pos field in the save for the target
statue - I just started a new game and triangulated only the specific one I was
interested in to get it's pos field to match against.

If the position doesn't match for some reason, but the statue does have two
sightlines in the save, Miasmata may crash when triangulating it as it
overflows a buffer. For this reason we display a warning if no statue is found
in the save with a matching position. It proceeds anyway as the statue may not
be in the save for another perfectly valid reason if the player swam out and
surveyed the island rather than triangulating the statue in the distance.

This can display the location of every statue and which ones are uncovered.
It's possible that the uncovered logic may not quite match up with Miasmata's
logic for statues right on the edge of the exposed map - that will need testing
to confirm. It also displays the sightline[s] to the target statue to assist
with working out where to stand to triangulate it for the achievement.

Backups are now done by copying rather than renaming the save file.

Add ability to save the current map image (including whatever annotations are
currently visible).

This also fixes some bit-rot related to the numpy rewrite of the DDS decoder
and makes some minor improvements to the logging in Miaschiev.
Miaschiev: Switch to QMainWindow with a proper status bar