Add new NDVI filter

"Basically, the problem is that you are storing the app's char pointer..."
That would be true if it were stored as a c-string. But it is stored as an std::string. When an c-string is assigned to an std::string, the sequence is copied.
See here:
http://www.cplusplus.com/reference/string/string/operator=/

I think the original author was thinking in terms of copying c-string pointers and didn't consider that std::strings manage their own memory. They can be resized over and over and the original pointer to the std::string doesn't change.

I'm quite confident that my change is compliant with the frei0r API.