Case insensitive searching in DataTables

Feature request from https://groups.google.com/d/msgid/shiny-discuss/528c4c7f-0fd3-4dbe-9a9c-bdb2018ed229%40googlegroups.com
`grep()` thinks `fixed = TRUE` implies `ignore.case = FALSE`, which makes case-insensitive matching less useful; when users search for a fixed string `apple`, they expect `Apple` as well. So it is `fixed = TRUE` that overrides `ignore.case = TRUE` (to `FALSE`) while both `pattern` and `x` are converted to lower case (which essentially means `ignore.case = TRUE`), and in that way, we can achieve case-insensitive matching with a fixed string via `grep()`.