This better matches the XDG Base Directory Specification.
Please move existing state files from ~/.cache/flow to ~/.local/state/flow
manually if you want to keep them.
This allows us to open files that contain colons if they do not otherwise
look like file:row:col. This also fixes opening absolute file paths on Windows.
This is possibly just a workaround. Sleeping on windows causes the task queue
to run empty even though we have pending async reads. This is possibly an
issue with asio on windows that may be difficult to fix properly. For now
we just disable sleeping altogether and leave the frame metronome running
which will keep flow alive.