Speed up compiler by caching text representation of project items for use in multiple targets

Yes, no idea how often this happens and whether items could be marked to not be cached. But if 90% could be cached, it may help.