Allow matching on multiple tokens

Tokens can be passed in as an array.
The token that was matched is passed into the elementFactory as well as
the onFilterChanged callback