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 good point. That seems like a fair amount of work to detect the language at this low of a level so we will need to just limit it based on a pref. You think 4MB is still a good starting point?