Fix bug with double free
Add cascade gaussian blur

Blur algorithm consist of:
1) Several stages of contracting by factor 2 with kernel [1, 5, 10, 10, 5, 1].
2) Optional pre-filter with kernel [1, 2, 1], [1, 4, 6, 4, 1] or [1, 6, 15, 20, 15, 6, 1].
3) Main 9-tap filter with optimized coefficients,
   points sampled at (1, 2, 3, 4), (1, 2, 3, 5) or (1, 2, 4, 6) offsets form the center.
4) Several stages of expanding back.