Fix canvas render bug.
Invoke hover/update only as needed.
Merge remote-tracking branch 'upstream/master'