Add exports

This PR adds a number of exports for ol.js.

Basically, I think we should export the getters of exported constructor options. For example, "origin" is an (exported) option of the (exported) ol.tilegrid.TileGrid constructor. So it feels right to export the getOrigin property of ol.tilegrid.TileGrid.prototype.

Also, even if ol.layer.Layer isn't directly used by application developers, I think we should export the ol.layer.Layer symbol. Application developers do manipulate layers. To me this is a sufficient reason for exporting the ol.layer.Layer symbol. For example, it will also application developers to do layer instanceof ol.layer.Layer.

I'm sure there are other places when the above principles should be applied. For now, I just wanted to run this by more people. If this PR is merged I'll do a more thorough review and open new PRs.

FYI, w/o the four commits this PR adds:

```
2013-07-12 10:34:47,556 build/ol.js: java -jar build/plovr-eba786b34df9.jar build buildcfg/ol.json
0 error(s), 0 warning(s), 95.30% typed
2013-07-12 10:35:09,134 build/ol.js: uncompressed: 247264 bytes
2013-07-12 10:35:09,153 build/ol.js:   compressed: 79232 bytes
```

And w/ the four commits:

```
2013-07-12 10:37:11,088 build/ol.js: java -jar build/plovr-eba786b34df9.jar build buildcfg/ol.json
0 error(s), 0 warning(s), 95.30% typed
2013-07-12 10:37:32,538 build/ol.js: uncompressed: 247596 bytes
2013-07-12 10:37:32,555 build/ol.js:   compressed: 79330 bytes
```

So the difference is 98 bytes (gzipped). Exports shouldn't cost much, as long as the symbols/properties we export are already used internally. In that case, the extra bytes are related to the aliases created only.