Bug 1037097: restrict image decode size in MediaFrame based on device memory size

Where are these numbers coming from? Cannot 256 MB HW handle 3 MP? Do we have issues with 512 MB of memory and 5MP images? If these kind of the decision trees spread out all over the code base it's going to quickly become difficult to maintain. I will be very hard to understand how things are supposed to work and why the decisions were made. It sets a precedent to disable, enable and change features in arbitrary parts of the code. I would like to keep these decisions in a configuration file that consolidates how the application is configured on a single place and in a declarative form. I want to also limit the possible configurations to 2 (low and high) so it doesn't become unmanageable for QA. Just for this patch, Does QA have to test on < 256, <300, <512, <1024 and > 1024 devices to make sure that everything works?