[JIT] JIT trace tree works

Only compile to LLVM IR the pieces of the code that are hot. Cold
pieces just run through the interpreter. Falling off the trace tree
returns to the interpreter. Chaining of traces can be done by having
traces end with indirect tail calls.

Sounds like a plan. I don't suppose anyone is working on this, righ?
I thought we could have a flag in the LLVM IR that could indicate to
the JIT compiler which parts of the code is hot and which parts is cold.
Then when we are JITing the from the compiled IR we do your suggestion
to the code.

Does that make any sence??

-- Kasra