TODO:
- Logging (What to do about the logging before init and during memory allocation? {} for args})
- Smart Pointers
- cf TODO
- ...
DONE:
- ArrayList/Vector
- LinkedList
- Override memory allocation
- set log level with env variable CLIB_LOG_LEVEL: DEBUG, INFO, WARNING, ERROR
- default log level INFO