Как сделать такой эффект для курсора?
Рисуешь одну картинку поверх другой, к верхней применяешь маску. Для этого подойдёт svg либо canvas
snippet
Почитай тут как раз твой случай.
Пример  https://jsfiddle.net/qb6m0ux2/