Fix ASSERT_VALID_CODE_POINTER for our ARM builds

We want to allow intermixing thumb and ARM for all builds, not only Android.
Modified the macro to do a thumb-compatible null pointer check.

This also works around a miscompilation on QNX where the compiler appeared to
make incorrect assumptions about the address of functions we are taking.

Change-Id: Ib8fc400178e0c2621bde2ca94b3f94041591e19a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Implement WTFReportAssertionFailure

At least do a printf with the failure details, to make debugging easier.

Change-Id: I092d31e3408cd0a651c6dd96b5fd94adf4abe3a7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix build on ARM in ARM mode (instead of thumb2)

We don't support the traditional ARM assembler (yet), only JIT on thumb2.  In
order for us to reliably check that, we have to wait until the pre-processor
runs, which this patch achieves by moving all JIT enable/disable decisions into
qv4global_p.h

Change-Id: I7eff5b4fbf1cd26297a08dee16984ad867358113
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Disable WTF assertions in release builds

Define NDEBUG to disable them.

Change-Id: Ie1f08863b9b483216be2c0768b505f2e9e7ccef8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>