Enable basic AArch64 code generation.

A few points that bear consideration:

— WITH_ARM now implies 32-bit ARM (only); WITH_AARCH64 implies 64-bit
ARM (only). This is a little ugly, but since older LLVM versions don’t
support aarch64 it seems imprudent to have WITH_ARM require 64-bit as
well. (Alternately, we could have WITH_ARM mean “at least ARM32” and
WITH_ARM+WITH_AARCH64 mean 32+64, but none of the other WITH flags are
additive in this way AFAIK.)

— However, CodeGen_ARM.cpp generates code for both 32-bit and 64-bit
ARM; essentially all of the NEON specialization is omitted from the
64-bit paths, as the ARMv8A AdvSIMD instruction set has nontrivially
different assembly syntax from existing NEON code. (It’s not yet clear
to me if the naming patterns are similar enough to existing NEON that
some macro-ization might allow us to recycle existing code; if not, it
may prove simpler in the future to simply add a CodeGen_AARCH64.cpp,
but some experimention is likely prudent first.)

— Similarly, a stub aarch64.ll file was added to hold future
specializations for ARMv8A AdvSIMD; we’ll definitely need it as we
flesh out support.

Note that in order to generate AArch64 code, you’ll need to ensure that
your LLVM has aarch64 enabled as a target (we should probably update
the README to reflect this).
Make CameraPreview.java more robust

The code wasn’t smart enough about starting and stopping the preview at
all the right times; this is OK on some devices but makes others very
unhappy.
Fixes to print to handle constant strings correctly. Add full coverage
and validation to test. Depends on halide_printf calling halide_print
on all platforms, which I think is the case.
Added approximate erf transcendental.

Good up to the last 3 bits of the mantissa.

Also rewrote how polynomial evaluations go to improve instruction latency.
Results in 10-15% speedup in transcendentals. Thanks Dillon for the idea.
Merge branch 'master' of github.com:halide/Halide
Merge pull request #365 from steven-johnson/master

Enable basic AArch64 code generation.
Remove explicit #version tag in GLSL vertex shader
DECLARE_NO_INITMOD fixes

Not sure how it was working before.
Probably because we used all initmods in the tests.
Fix infinite recursion in certain simplifications

Simplifying EQ uses bounds inference to disprove equality, but bounds
inference sometimes uses simplify EQ to prove absence of overflow.
Merge branch 'master' of github.com:halide/Halide
Restored missing simplify call
Arm inverse sqrt was using the wrong instructions.
Relax accuracy requirement for inverse sqrt on arm
Merge remote-tracking branch 'upstream/master' - merged Halid's erf() implementation

Conflicts:
	src/IROperator.cpp