Mainly changed the benchmark library behind.

- created a custom benchmark library
- modified the benchmarker to use my custom benchmark library
- updated benchmark helpers