Improved plugin system and abstracted symbol resolution.

Signed-off-by: Jacky Alciné <me@jalcine.me>
Updated cmake, src and tests for plugins and the likes.