ISDb: Move to own namespace.

Also move OpenURL() to SubtitleDlDlg, it was only ever used there and wasn't specific to ISDb.
ISDb: Support hashing using the IAsyncReader filter interface.

Adds support for RARFileSource.
PPageFileInfo: Try to request the filename and size from the filter first.

Allows RARFileSource to show the real filename and size of the file being played.
WebClientSocket: Try to request filename and size from the filter.
MainFrm: Use a general GetFileName() when a filename is needed.

Adds a consistent filename to be used across the application.
Allows RFS to show the internal filename.
SaveDlg: Allow extraction of RAR files using RFS.
PPageFileMediaInfo: Add MediaInfo support for IAsyncReader.

Allows the MediaInfo to be displayed from the RFS filter.
Updated changelog.
docs/Compilation.txt: Add recursion to 'git submodule foreach' command.
PPageFileMediaInfo: Some filters return S_FALSE to indicate read errors.

This is a success code, so we need to explicitly check for S_OK.
MainFrm: add the ability to update control states through messages
Rewrite mouse handling code

Fixes #1300, #1556, #2081, #3284
D3DFS: remove horizontal margin from osd posbar

The bug with autohiding is now fixed and there's no reason to have it
there
Call OnIdle() less frequently
MainFrm: remove unused variable
ChildView: remove unneeded critical section
PlayerSeekbar: thumb paint optimization

Painted thumb is now cached
PlayerSeekbar: code refactoring