Improved configuration

Improved configuration further by extrapolating common properties and providing convenient extension points.

For example, supposing that your application does not use `main.js` as its main entry point and instead uses `app.js`:

```scala
RjsKeys.mainModule := "app"
```

(note the absence of the file extension).

If you wish to add a property that this plugin does not provide, but is available to rjs then you can provide a map of additional properties. Supposing that you wish to specify the locale to be used:

```scala
import WebJs._
import RjsKeys._

...

buildProfile := Map("locale" -> j"en-au")
```

The `j` character preceding the string value declares a quoted string for use where JavaScript expressions are required. `buildProfile` is a `Map[String, JS]` where `JS` is a type that holds JavaScript expressions. `WebJs._` is required to be imported and comes from some new functionality in sbt-web.

`WebJs` also has functions to convert maps and sequences to the JS type via a `toJS` method. For example, [given an example from the rjs documentation](https://github.com/jrburke/r.js/blob/master/build/example.build.js#L388) you can express:

```scala
import WebJs._
import RjsKeys._

...

modules := modules.value ++ Seq(Map("name" -> j"foo/bar/bip", "exclude" -> Seq(j"foo/bar/bop").toJS))
```