Support for large lists of shape formats.

This is necessary before assimp can be moved in. With this system in place supported shape formats are added during engine load so if assimp (or collada for that matter) is excluded from compilation their formats won't show up in any shape import dialogs.