Я делал грубо говоря то же самое с помощью
raphaeljs.com/ (это SVG). В Illustrator'е делал нужные шейпы, экспортировал в SVG. А Raphael'ем отрисовывал. Прекрасно поддерживаются события, в т.ч. клик, ховер. Если хотите, я даже могу вам отправить, что у меня получилось.
С помощью canvasэто тоже можно сделать.
imagemap я бы не использовал. Слишком сложные формы у областей, слишком трудоемко.