Tidy-up some spinloops.
Tweak interupt config.
Capitalise ENDPT for consistency.
Use a green LED for DFU.
Run the switch interrupt at low priority.