the HTTPLoader doesn't accept relative URLs (see line 73-76). The problem is that's it's used in the CaptioningPlugin and therefore you can't use relative paths for specifying the DFXP location, which is kind of odd.
Is there an easy way to get around this problem (without overriding all of the classes)?
Good point, can you file a bug? The easiest workaround (until we can provide a fix) would be to subclass HTTPLoader and override canHandleResource to not check for the http* prefix. Not sure how much work that would be to integrate with the captioning plugin though.