elf: implement tls for shared objects

Unlike tls for the main module, which simply offsets fs:0, shared object
use an indirection scheme since each module gets its own tls base address,
which needs to be found (and initialized) via __get_tls_addr()

Implement __get_tls_addr() and the associated relocation and storage
management.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>