1. Identify all included libraries, using browserify

How to identify dependencies?

Input should be an entry file, as usual, that requires all necessary
dependencies:

```javascript
module.exports = {
  'Instasearch'   : require('instasearch'),
  'Instauthorize' : require('instauthorize')
}
```

(Extension: make an option that will export each of the top-level
exports as a global. Right now we'll have to call the single global
something like `bundle`, and reference inclusions by
`bundle.Instasearch`.)

Browserify will take care of templates and JavaScript code. What remains
is the stylesheets and other assets.

- Go through each listed dependency and find package.json

# Parts of Komponent

The core philosophy is to avoid enforce structure as far as possible,
and keep scaffolding to a minimum. The downside of many attempts at
reconciliating client-side JavaScript is that they step on people's
toes — requiring a certain layout.

FIXME: find actual examples of this, or revise it.

Komponent aims to enforce as little as possible, and instead uses

The core technologies used are:

- npm for package and dependency management
- Browserify for bundling

Komponent offers a minal amount of scaffolding:

1. An empty `index.js` and a `template.js`
2. A `package.json` with an `npm prepublish` command

## The `komponent build` command

1. Find all komponents in the dependency graph
2. Build assets (e.g.  images and stylesheets) for each of them.
3. Combine all these into a single directory:
  - `style.css` - a concatenation of the compiled stylesheets for each
  komponent
  - img/<name>/ - images for Komponent <name>
  - <filetype>/<name> - various assets collected, where <filetype> could
  be for example `images`.
4. Build the JavaScript using `browserify`

The final `build` directory should now contain:

- `index.js`
- `style.css`
- A directory <filetype> for each asset type, e.g. `img/`

FIXME: need a standard for how to re-write asset paths.

Don't enforce grunt, just provide a command for building the assets.

## Using Yeoman for generators

Upside is it's made for just this.  Downside is it might be constricting.
