Adjustments to image filters

1. Unset _applyFilter flag inside applyFilter method.

This prevents applyFilter() from being called again on draw() if you have previously called it manually.

2. Report applyFilter status.

Allows user to call applyFilter manually and check whether getImageData() succeeded or failed by inspecting the return value.

This could have alternatively been done via a flag on the image object. That way you could inspect the filtering status when applyFilter was called from inside drawFunc not only when it's manually called. This just seemed like less code and effort for such a minor feature.