feat(compiler): allow specifying attribute mappings using annotations

Closes #227