refactor: pass compiler options as a hash

Closes #151