This looks relatively easy to do but wanted some feedback before I attacked it myself.
Simply allowing vtt files in the field and adding
<track srclang="en" label="English" kind="captions" src="<?php print(file_create_url('public://captions.vtt'));?>" default />
in the theme, gave me my captions - beautiful! So easy!
So, what I was wondering is if we add a new field formatter for adding captions, so you can select the 'kind' and add a 'label' etc - any item with these settings will not be matched against the $codecs array in videojs.theme.inc (currently my vtt file gets the 'videotype' of 'video/webm'.
I dont think this would be a big job and would go a very long way to making the uploaded videos accessible.