Added multiple term search functionality (with default phrase search)

This pull-request is very similar to #5496
Change allows:
* in addition to the standard (phrase) search adds functionality to search multiple words separated by a space (multiple terms search)
* define the word (or word list) to search in the url hash tag #search. When page has been loaded, document is scrolling to the search results.
* specify the type of search (phrase or multiple term search) in the url hash tag #phrase (true or absent hash tag - default phrase search, false - multiple term search)
* specify the type of search (phrase or multiple term search) in UI (checkbox 'Phrase', by default this is checked).

![pdfjspull](https://cloud.githubusercontent.com/assets/10258064/5538374/73ff2626-8ad4-11e4-843e-870d821cf76c.png)

Examples:
find phrase 'Locking tames tamed tame':
#search=Locking%20tames%20tamed%20tame&phrase=true
or 
#search=Locking%20tames%20tamed%20tame

find multiple term search 'Locking tames tamed tame':
#search=Locking%20tames%20tamed%20tame&phrase=false

Screenshots:
![pdfjspull-phrase](https://cloud.githubusercontent.com/assets/10258064/5538444/051c58e4-8ad6-11e4-95a5-42c01f9fbd24.png)

![pdfjspull-multiple](https://cloud.githubusercontent.com/assets/10258064/5538446/0c22a3c8-8ad6-11e4-9e99-59ee68e4482c.png)


@yurydelendik, for equal matches-array elements we should save element with maximum matchLength (matchesLength-array element with same index) and skip other elements.  In array sort() operation we have access only to two neighboring elements. This is not enough for this operation
For example, 
```
matches   =     [1,2,2,2,2,5,7];
matchesLength = [4,7,4,4,5,3,2];
```
result must be:
```
matches   =     [1,2,5,7];
matchesLength = [4,7,3,2];
```
Maybe I did not understand what you mean.