vtable manipulation strategy change

don't overwrite once found orginal function pointers after hook suceeded
(con: now multiple chained hooks problematic)
thread safety improved (keep lock on rehook and FlushInstructionCache
when vtable changes)
assert text, style