[WIP] support streaming osm files through libexpat

Just for comparison, when reading a osm file that's ~320MB:

- it takes up about 7.6GB using the tree-based parser from LightXML:
```
julia> @time nodes, highways, buildings, features = getOSMData(filename, nodes=true, highways=true, buildings=true, features=true);
elapsed time: 77.810447564 seconds (7885139620 bytes allocated, 70.46% gc time)
```
- it takes up around 0.5GB using the event-based parser from LibExpat:
```
julia> @time nodes, highways, buildings, features = getOSMData(filename, true);
elapsed time: 1324.057881041 seconds (177001987192 bytes allocated, 93.88% gc time)
```

However, garbage collection is making it very slow, and I'm not sure how to improve the performance. Any suggestions?
@garborg, @mlubin, @IainNZ