Comment out gnu specific stack notes on apple and armasm

Libav itself doesn't output these unless targeting ELF (where
they don't need to be commented out), but other projects (e.g.
OpenH264) have them unconditionally in the source.
Strip out more MSVC C compilation flags that don't apply when assembling

This is for use with OpenH264, which specifies more MSVC specific
compiler flags than libav does.
Add an option for forcing arm mode source to be assembled as thumb

This does some rudimentary conversions of instructions that aren't
available in thumb mode.

This allows building OpenH264 for Windows Phone 8 (and Windows RT),
which only supports thumb mode, and the OpenH264 arm assembly is
hardcoded for arm mode.

This is similar to how libvpx supports assembling in thumb mode - the
source itself is arm mode only, but a perl script can replace
instruction combinations that aren't supported in thumb mode. This
is a small subset of those conversions.
Move renaming of local symbols after checking for branch instructions

This simplifies identifying local symbols within the branch
heuristic block.
Add an option for trying to automatically add a prefix to external symbols
Move the initial handling of lines into parse_line

This allows doing the same cleanup on lines that don't come from
the initial cpp invocation read in the initial while (<ASMFILE>)
loop.
Add initial support for .include

This misses support for checking include directories specified
with -I parameters.
Don't comment out the whole line when handling .type

libopus piles up multiple directives on one line.
Only interpret .if if it's the first word of a line

The arm2gnu.pl script in libopus converts an IF (from a license
header) into a .if, which messed up gas-pp.