Get JsonIn strictness from a constructor argument.
Make json loading super-strict, and centralize error handling.
Merge strict json reading.
Add ability to move player and initiate actions with the mouse.

Left click on a visible, "pathable" destination to show calculated route. Click on same spot again to perform the move. Right click to cancel planned move. Automatic movement is canceled if you are hurt for any reason or would end up attacking something you didn't directly click on. Movement goes through the existing functional flow and will be canceled by events such as safemode triggering, answering No to "Really step on that?" queries, etc. There shouldn't be any danger in planning a long route.

Right clicking on a monster while wielding a ranged weapon opens the targeting window (which already has mouse support), with that monster selected.

Moving into doors and windows opens them as normal. Right clicking on an adjacent open door/window closes them. Right clicking any other adjacent tile opens the examine view on that square.

Right clicking self opens the pick up menu ("g").