Add a way to create associated objects with weak reference semantics
Add debugging methods
Use weak semantics where appropriate. Remove now useless code
Fix tricky autorelease pool issues in tests
Make implementation more readable
Avoid overlap between objc_ and hls_ associated objects
Restore ARC compilation for HLSRuntime

ARC was not the reason of the crashes (tests were simply incorrect)