MovieTexture_FFmpeg: move class defs to header file

No-op.  Should make it a little easier to find things in the FFmpeg driver.
FFmpeg: use stream time_base to estimate FPS, not codec

Fixes the estimated frame length when we don't get an explicit DTS for the
frame.  Also fixes a comment typo.
FFmpeg: don't unconditionally skip first frame

This condition was true when 0 - 0 == 0, so the first frame was being skipped.
FFmpeg: reinitialize m_fLastFrame in Init()

After a Rewind(), the m_fLastFrame wasn't set back to 0.  Now it is.
FFmpeg: use the cached pkt_dts for timestamps

This appears to work far more consistently at the beginnings and ends of
videos.
FFmpeg: remove unused PTS logic

No-op.
Update Changelog with recent commits
JACK: let Init do the cleanup on failure

Previously, if Init failed, we were calling jack_client_close twice and
segfaulting.
MacOS: fix potential crash due to language preferences
editor: don't sort keys in help screen

The order of these actually matters; we shouldn't be resorting them.

Fixes issue 86.
fix hack regarding ModIcons and Lua option rows

Since the ModIcon is copied from the option row type, make sure we actually
copy everything it'll need, since Load() isn't called again.
fix visual glitch on autoplay rolls

When there were tap notes on the same row as the start of a roll, autoplaying
the roll would result in the receptors on other tracks to glow.  This was
because the Step() call would use the roll's head row for a parameter, which
included the other notes.  This changes that parameter to -1 to automatically
use the current row in the song, which makes more sense anyway.

Fixes bug 241.
fix some -Wreorder warnings

No-op.
documentation update
fix duplicate removal in editor help

The sort was in place for this purpose.  Let's use it on the modifier keys, but
not sort the regular keys, since the order matters for those.

This isn't really the right way to do this from the start, but that'll be
something that could be rewritten at another time given that our mappings are
still pretty much hardcoded.
editor: don't offset by 1 row when shifting TimingData
TimingData: don't break indefinite segments when deleting rows

We had BPM hard-coded in, but other indefinite segments (scroll, tickcount,
combo, etc.) were not being preserved, causing editor problems/crashes.
editor: re-enable convert to delay/stop at beat 0

This should behave nicely after the previous commit.