Basic win detection + best times

The level select screen will now display the best completion time for
each level, or "--:--" if the puzzle has yet to be solved.
When a puzzle is successfully completed the game will check the
completion time and update the highscore if necessary, then return to
the level selection screen.