Bug 1041710: Ensure that wallpaper images always exactly match the size of the screen

I was wondering about this last night... First though, the goal of this patch is to ensure that the wallpaper is always exactly the same size as the screen. If we end up bigger then we've failed.

Also, the round() here matches the round() I'm using in the homescreen and settings apps() when invoking the pick activity.

On the Flame, our 854 device pixels turns into 569 CSS pixels and when we multiply we get 853.5.  Math.round() rounds this up to 854.  I've used round() everywhere and it works on the Flame.  Presumaly when we convert device pixels to CSS pixels we are always going to use floor()... So that if we had 855 device pixels we'd end up with 569.666 CSS pixels and we'd still round that down to 569 instead of 570 because if we rounded up the bottom most pixel would never look right.  So if it is true that we always round down, then rounding up is always the right thing to do.

Given that CSS pixels is always an integer, a devicePixelRatio of 1.5 will always be an integer or an integer and a half.  And Math.round() for any x + .5 always rounds up to x+1, so I think this code is correct for any screen with a device pixel ratio of 1.5.

I don't know what would happen with other values, however, so to be safer, and to make the code clearer, I will change round() to ceil() here and also in settings and homescreen where I invoke the pick activity.