Update the makefile generator to support .S arm assembly files

These are built if ASM_ARCH is set to arm.
Hook up building arm assembly in the generic linux and android makefiles
Enable the android runtime CPU feature detection

Build and include the android cpufeatures library in libcommon.
Don't set -mfpu=neon while building the normal C++ files

This will make the normal C++ code not run on non-NEON devices at
all, making the runtime CPU feature detection pointless.

Adding -mfpu=neon to CFLAGS is not necessary, it's enough to
add it while building those individual .S files (via ASMFLAGS).
Add the APPLE_IOS define when building for iOS with make

Previously the define was only used when building from within the
xcode project files.

This enables the arm neon assembly.
Unify the interface for the different variants of WelsCPUFeatureDetect

The caller of the function should not need to know exactly which
implementation of it is being used.

For the variants that don't support detecting the number of cores,
the pNumberOfLogicProcessors parameter can be left untouched
and the caller will use a higher level API for finding it out.

This simplifies all the calling code, and simplifies adding
more implementations of cpu feature detection.
Add cpu feature detection for generic arm/linux

For platforms without runtime detection, assume whoever built it
with HAVE_NEON actually wanted it.
Mark the arm asm labels as functions

This fixes calling them from thumb code, on linux.
Use the windows INFINITE define instead of manually casting -1 to uint32_t
Merge pull request #402 from mstorsjo/unify-cpu-feature-detect

Unify the interface for the different variants of WelsCPUFeatureDetect
Exclude assembly files that are used as headers

This avoids some warnings about object files not containing any
symbols.
Merge pull request #406 from mstorsjo/use-proper-define

Use the windows INFINITE define instead of manually casting -1 to uint32_t
Merge pull request #408 from mstorsjo/exclude-asm-headers

Exclude assembly files that are used as headers
Merge pull request #401 from mstorsjo/android-arm-assembly

Enable the arm assembly in android builds
Merge pull request #404 from mstorsjo/arm-asm-type-func

Mark the arm asm labels as functions
Exclude the arm assembly header as well

This avoids warnings about object files not containing any symbols.
Merge pull request #409 from mstorsjo/exclude-arm-header

Exclude the arm assembly header as well
Merge remote-tracking branch 'upstream/master' into read_para