Added filters to remove low ASCII characters

(Followup from issue #279. I created a new pull request from a dedicated branch instead of master)

This patch removes control characters from a string (ASCII values < 32 and 127). Optionally it can keep newlines (\n and \r). It is Unicode-safe in JavaScript.
This update includes tests.