Overhauled line start/end and linecap calculations.  Added new linecaps.