Replace the standard Lua include path entirely on Windows

The default Lua include path is encoded with the local charset rather
than UTF-8. This causes problems when the working directory includes
non-latin-1 characters which are valid in the local charset, as Aegisub
expects the string to be UTF-8. As the default path isn't very useful on
Windows (on other platforms it could potentially include things like
luarocks-installed modules), just clear it.

Closes #1676.
Fix potential use-after-frees on redo

Don't delete the old copy of the file until after the new version is
committed to avoid a use-after-free when code tries to do things with
the active line in a COMMIT_NEW handler, as just trying to avoid doing
that hasn't really worked out.
Update pt_PT.po due to 3.1.0 changes
Fix typo in readme
Bump copyright years
Move fftw3 to a git submodule and update to 3.3.3
Port BuildTasks to C#

VS Express Edition doesn't support F#.
Grab the .mo files for the installed from the po directory

Grabbing them from the package's src directory just adds another step
that needs to be done manually whenever a translation changes.
Fix some warnings when compiling with gcc
Also return full paths from aegisub.dialog.save
Kill the Update Dependencies project

Move downloading the ICU data file to the ICU project, since that's the
only thing that was left.
Work around wxGTK issues with time edits

Modifying the contents of a text control after IM processing happens in
the same cycle of the event loop seems to be seriously broken. Work
around this by disabling IM processing for time edits, as it should
never be relevant for them anyway.

Closes #1679. Closes #1680.
Silence warnings from other people's code
Silence unused local typedef warnings from gcc+boost
Use -Werror for compiler flag support checks so that they actually work
Update arabic translation
Remove -beta from the version in the installer
Fix typo in help text
Add a better error message when a hotkey is set for an invalid command