Replace DispatchToOGTerminal with JavaTerminal and remove the visitor

`DispatchToOGTerminal` is replaced with `JavaTerminal` so that we no longer use the visitor implementation. `JavaTerminal` uses our type dispatch mechanism in a similar way to `Real16AoA` and `Complex16AoA`.

This allows us to erase the visitor implementation that remained, since there is nothing left using it.

Coverage:

Java: unchanged.
src/jshim: 52.9%, down from 54%, because `DispatchToOGTerminal` and `JavaTerminal` have no C++ tests, and `JavaTerminal` is slightly longer.
src/librdag: 94.3% down from 94.4%, due to the removal of the accept methods which were tested.

All others unchanged.
Perhaps this could be made to return a `unique_ptr<>` or similar managed memory type? Whilst not under the remit of this ticket, it is a relatively minor change (given the present churn) that I think would tighten the whole code up in the viscinity (same comment applies to the similar methods in here). If you are happy to do this it would be much appreciated, thanks.