Stuart Broad took an exceptional one-handed catch over his shoulder to dismiss Alzarri Joseph on day two of the third Test in St Lucia.