WIP: Start numeric type for resources

Opening for comments on this approach. Not functional yet.
Somewhere near here would be a good place to point out what happens to additional digits on output (or input, for that matter).  My recommendation is to round values, rather than truncate them.  But that's still a bit vague: see http://en.wikipedia.org/wiki/Rounding for a bunch of variants.  Rounding away from zero is probably what we want, and seems to be consistent with C++, at least.