new function selectizeInput() to use selectize.js

closes #287
the search field must be renamed accordingly
news for selectizeInput()
factor out the code to determine which options should be evaluated into a utility function checkAsIs(), so that it can be applied to selectizeInput() as well
apply checkAsIs() to selectizeInput(), and store the names in data-eval in the script

note we switched the order of {} and config.text() in $.extend(), so that users can overwrite the default options like labelField, valueField, ...
it is safer to evaluate the string inside ()

e.g. one cannot directly evaluate {a: 1, b: 2}, although it is legitimate JSON; eval("({a: 1, b: 2})") always works
add a note about the I() options in selectizeInput()
add es5-shim.js for IE8
For IE8, $.text() does not work on <script>, so use $.html() instead
localize es5-shim.js
IE8 does not have map() and forEach() methods

use $.each() and $.map() instead
add a note in the NEWS that DataTables also works for IE8 now
add selectize=TRUE to selectInput(), instead of adding a separate function selectizeInput(), per suggestion of @jjallaire
Merge pull request #397 from yihui/select2

Selectize.js