remove typedef on GrooveTag. see #36
scan: better public/private pattern and remove typedefs

closes #37 and #36