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 That report seems a little jumbled -- one person reports a freeze with a _390_ MB file, the other user reports "lag" (without saying whether it's during opening or later) and gives a 3 MB file as an example. Lag isn't what we wanted to guard against here, though.  Also, I have a fairly slow non-SSD hard drive and opening a 5 MB file works fine on my machine.

Again, I think we should be fairly conservative with this limit since it's a hard blocker for users, and the main goal is just to avoid full native crashes -- not merely slowness or lag.