- `map.setSize` now only accepts an object of the form `{x: 0, y: 0}` or a
`MM.Point` object, and it calls its callback with a `MM.Point` argument.
- `map.roundZoom` added to the map to allow for the old behavior of
`map.setExtent` if desired.
- Maps now include `MM.TouchHandler()` by default for touch-device compatibility
- `MM.MouseWheelHandler()` now supports a second argument, `precise`, which,
when true, will allow intermediate zooms.
- MouseWheel events are now normalized to take advantage of acceleration and
avoid browser bugs.
- `map.setExtent()` now accepts either an array of `MM.Location` objects or an
`MM.MapExtent` object, which it converts to an array of locations with
`extent.toArray()`.
- the `MM.Hash` event handler can set a map's center and zoom from the URL hash
(`{zoom}/{lat}/{lon}`) and update the hash when it changes. A standalone
class is provided in `examples/hash/modestmaps.hash.js`.
- `MM.TemplatedMapProvider()` now supports quadkey coordinate substitutions in
URL templates with "{Q}" instead of the TMS-style "{Z}", "{X}" and "{Y}".
- `MM.TemplatedMapProvider()` also supports Microsoft-style URL templates,
which specify subdomain, zoom and quadkey placeholders with "{subdomains}",
"{zoom}" and "{quadkey}", respectively.