Rewrite floorpaint.js from scratch

It uses jQuery now.
Fix completion detection
Fix bugs; enable solution searching

Also:
- Remove all global variables
- Use 'const' for constants
- Remove use of exceptions
- Fix completion detection for real
- Condense jQuery selectors to one area
- Change 'ctx' to 'context'
- Remove unecessary key constants
- Move html script tags to outside of body
Set canvas size dynamically

Also:
- Accept width, height, startx, and starty as query parameters
Prevent blocking the starting space
Don't generate easily detected impossible levels
Lower the size of the status text
Accept obstacles as a query parameter