java: Backend abstraction

Switch to a proper backend abstraction in preparation for DynASM backend.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
Import DynASM from LuaJIT 2.0.3

Signed-off-by: Pekka Enberg <penberg@kernel.org>
DynASM backend

This adds initial DynASM support on x86-64.  You can run StartupTest
with DynASM enabled as follows:

  $ ./hornet -XX:+DynASM -cp tests StartupTest

and that's all it supports for now.

Signed-off-by: Pekka Enberg <penberg@kernel.org>