[WIP] Feature/micromap

Rebased on top of #1208 (original micro map) and #1178 (view perf improvements).

tree benchmark (with dart2js):
pr 1178 (baseline) - 470ms +/- 12%, 42.6 Mb heap
this PR - 450ms +/- 12%, 41.8 Mb heap

The confidence intervals are quite large so I am not sure if this is indeed better or we are looking into noise. Also, running the benchmark for extended period seems to affect the numbers significantly (as some point I saw the baseline drop to 430ms itself).

More work needs to be done on the iterators (they should be views into the micromaps, instead of holding their own values).

(profile-baseline)
![profile-baseline](https://cloud.githubusercontent.com/assets/95713/3577678/56899cde-0b9f-11e4-85fd-ba1eeccb6172.png)

(profile-pr)
![profile-pr](https://cloud.githubusercontent.com/assets/95713/3577679/57fd83fa-0b9f-11e4-8553-2f2dbf94c36e.png)

(baseline heap)
![pr1178-snapshot](https://cloud.githubusercontent.com/assets/95713/3577547/d75f0972-0b9d-11e4-934c-e9a9991b52d7.png)

(micromap heap)
![micromap-heap-prof](https://cloud.githubusercontent.com/assets/95713/3577549/db59feb0-0b9d-11e4-9fea-5717a3f1ff12.png)