Hi,
The Dart developers seem to have tried a lot of Mirrors themselves and I recall a recent discussion that they said they were still working on improving how Mirrors get used. Although they also seem concerned that Mirrors can continue to be an issue, so if you're concerned about saving bytes perhaps dropping Mirrors would be a better idea.
I recently tried creating a templating method mostly to be used on the server-side so users can create the HTML file with some embedded code to get data out of Dart and so on. It's considerably harder to setup than a simple runtime eval of Ruby/JavaScript. But it's still an OK approach once the obstacles are overcome.
In your library I think most obstacles can be overcome by the user supplying a map of name/value pairs to the templating engine, which your library already supports. So perhaps the issue is more one of being fully compliant with the more thorough JavaScript implementation of it. Maybe you should encourage the users to provide the map to bind to the variables. That may be the easiest solution.
After doing that, maybe create a second version of the library that included Mirrors for the users who wouldn't mind the extra bytes. Maybe to be used on the server-side.
The third option of creating a slimmer reflection implementation may be too much of a nuisance.
Cheers,
Joao