Ignore dead blocks of code early

When parsing the instruction stream, we can get confused by unreachable
blocks of code.

Usually we'd ignore all code that is jumped over, if the target
instruction after the jump isn't a target of some other jump.

Imagine the following code:
if(2!=2) {
for(new i;i<1;i++) {}
}

We'd just jump ofter the whole loop - BUT since it's a loop it has a
jump back to the condition at the loophead, so we start inserting those
instructions. But they can't be reached, because of the constant jump (2
!== 2)..

We just ignore those stupid blocks.