Closed #5813: Refactor sprite's blendFunc to support more features on Canvas

Refactor sprite's blendFunc to support more features on Canvas