List ALL Taxonomy Terms with Views
Create a 'taxonomy term' view
Add 'Taxonomy term: Content with term' as a relationship (don't make it required, otherwise unused terms won't show up)
Add two fields, 'Taxonomy term:Name'(mark this excluded from display since we will group them in the next step) and 'Content:Title'
Go to Format settings: set 'grouping field Nr.1' to 'Taxonomy term:Name'
Now you get the data you want, you can use your preferred approach to style them.