runtime: make abort and __assert_fail callable early

backtrace functionality uses ELF functions which acquire lockfree
mutex locks, and they require threads to be initialized as in
(s_current != nullptr), as well as the ELF program to be
contructed (s_program != NULL).

abort used to print with debug_ll, but in the meantime debug_ll
changed in semantics due to the console framework changes.

Therefore we need to use debug_early to ensure that the message
ends up in the console at any time of call, in any condition.

This patch makes abort() and assert() callable even before
the full construction of the init array in premain and before
TLS is available.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
Cc: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>