refine-multi-layer-process
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.
Mark the arm asm labels as functions

This fixes calling them from thumb code, on linux.
Merge some WIN32 ifdefs that were directly next to each other
Change the unix version of WELS_EVENT to sem_t*

Typedeffing WELS_EVENT as sem_t* makes the typedef behave similarly
to the windows version (typedeffed as HANDLE), unifying the code
that allocates and uses these event objects (getting rid of
most of the need for separate codepaths and ifdefs).
Share the declarations for WELS_EVENT arrays between win32 and unix codepaths
Simplify code by allocating the arrays of events and thread handles statically

This avoids having to malloc a whole lot of separate arrays,
all which are all bounded by MAX_THREADS_NUM.
Do a blocking wait with WelsMultipleEventsWaitSingleBlocking

There is no point in doing a timed wait here - there's no work
that we can do if the wait timed out, and sleeping for 1 ms
inbetween doesn't help, it only adds potential extra latency
to reacting to threads that need more work to do.
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 pull request #407 from mstorsjo/do-blocking-wait

Do a blocking wait with WelsMultipleEventsWaitSingleBlocking
Partly add arm asm code to encoder.
Remove .DS_Store file.
Add intra predictor arm asm code.