Just had an idea... you could provide a free spell feat, that can be used to cast any free spell... that would work. I'm not sure how much that would change the "spell casting" aspect of it, but you would be able to do this with feats as Feats are easy to "refresh" the uses of, and you could count the uses with data on the PC. AND I think you could find a way to use one feat for any spell. It would take some creativity, but I'm sure it could be done.