Renamed Capture traits to ExternalCapture & LegacyCapture traits to Capture

Simple renaming, no logical changes have taken place. As a result the overall diff is a mess, but this is easily readable if you look at the individual commits:

Capture -> ExternalCapture ( 98e690d )
LegacyCapture -> Capture ( 5474bad )