NIF file cache

This patch adds a cache for loaded and parsed NIF files so that repeated requests for the same NIF file during loading sequences (currently engine startup, and cellChange) don't perform excessive work.