Refactor: convert Tags to Statistics

Statistics can now have limited visibility to make them act like a tag
(and not display hundreds of 0s when the object is serialized) while
merging the statistic's ability to have sourced changes.