For some reason, I wasn't getting all of the dependencies. I eventually got it working by just deleting the whole VisualEditor directory and starting again from scratch with 'git clone' and 'git submodule update --init'.
However, now I'm finding that, although the Visual Editor bar appears and I can edit the text in a page, there is just one issue remaining. For some reason, all of the SyntaxHighlight_GeSHi fields go invisible when editing a page. They appear again after cancelling or saving an edit – but can't be seen while editing a page. I've tried clearing my browser cache, using other browsers, etc... and there don't seem to be any JavaScript errors being logged to the console. The <span> for the syntax-highlighted code section appears as follows, when editing:
<span class="ve-ce-leafNode ve-ce-focusableNode ve-ce-mwSyntaxHighlightNode" contenteditable="false"></span>
As you can see, the actual content is empty. When not editing, it looks like this:
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>$ ansible-playbook ci_up.yml
</pre></div>
Has anyone else experienced this?