Fix dialyzer target
Ensure consumer is killed when parent process dies

Switch to use simple_one_for_one supervisor for dynamic children to clean
children once parent dies