Case insensitive views

Supersedes #838. This PR allows case-insensitive view loading rather than screwing with the module loader. On case-sensitive filesystems where multiple views may match for the same name, the first one when alpha-sorted will be used.