more MAC friendly
fix zero-buffer rendered in some rare cases

also move on gulp instead of grunt