Update indexing progress less often

wxTheApp->QueueEvent is sufficiently slow that updating the progress
could sometimes take longer than the actual indexing.
Make progress bars less jerky
Improve audio loading progress reporting

Even without the animation the reported progress was an average of 1.5
blocks behind the actual progress, and with the animation it was two
blocks behind. Assuming constant-speed audio decoding it should now be
nearly accurate (it still ignores that the last block may be smaller
than the rest).
Extract common stuff for wrapper audio providers to a base class
Remove some unused AudioPlayer methods
Only paint the margin values in the grid if they're non-zero

Showing zero is mildly misleading since it's actually default margin
rather than no margin, and this makes it much easier to spot the rows
where there's actually an interesting value.
Fix shifting contiguous selections downward

Reverse iterators behave differently from regular iterators when
swapping (regular iterators continue to point at the same elements,
while reverse iterators do not), so instead use regular iterators with a
negative step for shifting down.
Use agi::scoped_holder to close files in mkvwrap
Opt out of AppNap while progress bars are active
Increase maximum template depth for parser.o

The latest version of clang has reduced the default.
Add support for Windows 7's taskbar progress indicator
Pass the detected or chosen charset to SubtitleFormat::CanReadFile

The MicroDVD format needs it since it also probes the file contents.
Fix overriding charset for subtitle files

IconvWrapper needs the non-lowercased charset for the pretty -> real
name mapping to work.
Fix reading MicroDVD files