Mark Ruffalo apologises for posts on Israel