Independent binding support: accessing sibling bindings (allBindingsAccessor)

This is the next step after #921.

The current binding handler interface provides an "all-bindings-accessor" function to the handler functions (`init` and `update`). This function returns all the bindings for the current element, which allows bindings to use separate bindings as parameters. One example of this is the `value` binding, which also reads the `valueUpdate` binding as an optional parameter.

In #921, to keep the interface compatible, I changed this function's implementation as follows.

```
// Old
function parsedBindingsAccessor() {
    return parsedBindings;
}
// New
function allBindingAccessors() {
    return ko.utils.objectMap(bindings, unwrapValue);
}
```

Since this unwraps each of the bindings, it can create dependencies on those bindings even if they are not used by the handler. The compensate for this, we need to change the interface so that the handler can specify which bindings it wants, for example, by having the function accept an array of bindings to return.