Implement collector

Now `gen_apis.dart` should also generate the `.idl` files with a bit more code. Still very ruff around the edges but a starting point. I did not commit the generated `lib/gen/*.dart` files yet. Not sure if they will blow things up. Going to focus on some model_idl.dart tests to get a better idea on how stuff should be generated. 

```
Directory: '/Users/adam.singer/dart/gen_tools.dart'
reading meta/apis.json...
wrote lib/chrome_app.dart
parsing idl/alarms.idl...
parsing idl/app_runtime.idl...
parsing idl/app_window.idl...
parsing idl/audio.idl...
parsing idl/bluetooth.idl...
parsing idl/context_menus.json...
parsing idl/events.json...
parsing idl/file_system.idl...
parsing idl/i18n.json...
parsing idl/identity.idl...
parsing idl/idle.json...
parsing idl/location.idl...
parsing idl/media_galleries.idl...
parsing idl/notifications.idl...
parsing idl/permissions.json...
parsing idl/power.idl...
parsing idl/push_messaging.idl...
parsing idl/runtime.json...
parsing idl/serial.idl...
parsing idl/socket.idl...
parsing idl/storage.json...
parsing idl/sync_file_system.idl...
parsing idl/system_cpu.idl...
parsing idl/system_display.idl...
parsing idl/system_memory.idl...
parsing idl/system_storage.idl...
parsing idl/tts.json...
parsing idl/types.json...
parsing idl/usb.idl...
parsing idl/webstore.json...
wrote lib/chrome_ext.dart
parsing idl/bookmarks.json...
parsing idl/browser_action.json...
parsing idl/browsing_data.json...
parsing idl/commands.json...
parsing idl/content_settings.json...
parsing idl/cookies.json...
parsing idl/debugger.json...
parsing idl/declarative_content.json...
parsing idl/declarative_web_request.json...
parsing idl/desktop_capture.idl...
parsing idl/devtools/inspected_window.json...
parsing idl/devtools/network.json...
parsing idl/devtools/panels.json...
parsing idl/downloads.idl...
parsing idl/extension.json...
parsing idl/file_browser_handler.json...
parsing idl/font_settings.json...
parsing idl/history.json...
parsing idl/infobars.json...
parsing idl/input_ime.json...
parsing idl/management.json...
parsing idl/omnibox.json...
parsing idl/page_action.json...
parsing idl/page_capture.json...
parsing idl/privacy.json...
parsing idl/processes.json...
parsing idl/proxy.json...
parsing idl/script_badge.json...
parsing idl/sessions.json...
parsing idl/tab_capture.idl...
parsing idl/tabs.json...
parsing idl/top_sites.json...
parsing idl/tts_engine.json...
parsing idl/web_navigation.json...
parsing idl/web_request.json...
parsing idl/windows.json...
generated in 1008ms.
```