It should be set in the application for one simple reason, any image manipulation can be server intensive.
In my experience and specially on share host trying to manipulate any image larger than 2mb or anything above 1500px width or height can generate an out of memory error.
We as developers, programmers, designers etc... know better when it comes to using large images but you'll be surprise on how many people tend to upload raw images that are 3000px in width and height or that are 3mb in file size.
Again using many popular PHP scripts like wordpress, phpfox, phpbb etc... in the past decade all of them have someway to limit or constrain such variables and give user's such warning when uploading such files that exceed any limits set by the application.
And before any one says anything, yes you can write something about the limit before a user uploads a file but people most of the time don't read anything until they get a warning on why they got an error when trying to upload anything.
Big example here on how many people still ask questions about installation with out even going to the installation docs is not like they are hidden.
So if you guys haven't really thought about it it will be nice to have such settings for a future release.