remove textureScale; use clamp instead
improve blur performance
reuse texture2d
add basic event system