Be safer about the line number in printstacktrace
Check for static when looking at super methods
printStackTrace takes an optional printer function

As opposed to the "isError" thing.
Set line number instead of push at invocations

Instead of pushing at invocation, which would often lead to pushing
multiple times or not pushing at all, push at the beginning, and update
the line number at appropriate times.
Unnecessary printStackTrace
Simplified something simple

No biggy
Reassign the stack trace at throw

Refill the stack trace element array in an exception when that
exception is thrown. Avoids having the odd <init> calls still in there,
and fixes the line number to the actual throw instruction.
Reverse the order of Throwable.printStackTrace

Looks how it should now.