Woo... Looking good!
- First word always in the middle, subsequent words checks the rows from middle and outwards to find a spot
- Last column fields set to false, so less chance of word breaching the end of the svg
- Added a bit of randomness to the positions
- Tested with several different texts, works pretty well now =)