experimenting with @MirrorsUsed

in attempt to reduce maintenance of purity libraries it may prove
beneficial to keep @MirrorsUsed out of the "model" library as it
shouldn't need it in the first place, however it does require the
abstract interface classes to implement their function to ensure the
symbols get picked up by dart2js
Revert "experimenting with @MirrorsUsed"

This reverts commit 16e039c49cead5caba75cdcfc3b1949482fa9123.
Merge pull request #15 from 0xor1/dev

dev -> master