change fps to a float to allow e.g. 29.97 fps
convert genVideoFrames() into VideoFrameWriter() class
extract VideoFrameWriter.write() method
extract VideoFrameWriter.writePage() method
improve output
VideoFrameWriter.writePage(): move updating of self.secs later

No logical difference but reads better
writeVideoFrames(): cosmetic alignment tweak
VideoFrameWriter: extract measureTempoChanges() function

Also turn midiResolution, midiTicks, temposList into instance variables.
This removes the number of variables we have to keep passing around.
VideoFrameWriter: change debug indentation to 4 columns for consistency
VideoFrameWriter: extract writeCursorLine()
refactor lineIndices() into findStaffLines() and findStaffLinesInImage()

This will allow us to find the starting index of the leftEdge
when in cursor scrolling mode.
change default scrolling mode: cursor scrolls, not notation (issue #3)

Now the cursor scrolls from left to right by default whilst the
notation stays still, and when it hits the right margin, the
notation refreshes and the cursor starts at the left again.
The margins are configurable via --cursor-margins.

The old behaviour where the cursor was always dead centre and
the notation scrolled from left to right can still be obtained
via the --scroll-notes option.

https://github.com/aspiers/ly2video/issues/3
writePaperHeader(): capitalize a warning
parseOptions(): wrap long lines and use [] for defaults in help text
add --resolution=DPI option