added option to provide custom scope upon provider initialization

this is necessary when the respective element is not yet attached to the
document's DOM, e.g.

    var select = $("<select />")....
    var input = $("<input />")....
    var container = $("<div />").append(select, input);
    input.toggleIfSelected("option[value='foo']", null, container);

NB: since both `what` and `scope` are optional, they should be moved
into an `options` object - I refrained from doing so here to maintain
backwards compatibility

also note that I haven't updated the distribution files - in part
because I'm not sure what the process is

/cc @vanto - review/opinion appreciated