feat(public): add top-level module to expose public APIs

Closes #10
yeah, I don't think it's actually legal in the spec, which is unfortunate! but I guess that's what we get.