Put an upper limit on UTF8 file sizes

This is for #7223

* Start the discussion at limiting files to 4MB and under before we refuse to load them
* Display a message if we've reached the limit opening a file
* Implemented in AppShellFIleSystem which is really the only place this could go without rearchitecting a lot of file system work but looking for feedback there too
@redmunds I thought about doing that but then that maybe this would help promote splitting code into smaller files :)