Ya wanna add one more possibillity? It could be the starter button itself...
If it's not turning over at all, you can leave out the coils as a possible culprit. They help a bike like yours start faster, but don't have anything to do with the starter actually cranking.
If your battery wont take a full charge, that needs to be replaced anyway, so that's the safest place to start. Of course, you could just try jump starting it off your car battery (engine not running on the car) and see if that changes anything.
The cables are cheap and easy to do, and actually give you a known good state for the rest of your troubleshooting, so that's an easy thing to do as well.
I've seen far more solenoids and switches die than starters, so They'd be higher up on my list of suspects. Also, cheaper than a starter.
You should be able to test the starter before springing for one.
You could just jump a wire from the positive terminal on a known good battery to the terminal on the starter. If the bike cranks right over, you know it's something to the battery side of the starter.
If it doesn't crank over, you can pull the starter from the case (unfortunately, this requires removing the left engine cover) and try the starter by itself (you'll have to ground the starter case this time as well). If the starter still has issues, then look into starter replacement or re-build. If the starter spins right up, then you gotta take a look at the sprag.
HTH,
--Fillmore