How to fix hanging Samsung Galaxy S II phone (GT-I9100)? Also flash and root it?
OK, so for question #1 
Try to get into recovery mode and then wipe cache partition and dalvik cache - that should help. As I remember, stock recovery is capable of doing that kind of basic things (if I'm wrong - correct me). 
Basically, you can get to recovery by holding volume down and power button while your phone is off, then release the power button but hold the other one. That should work, if not - check YouTube, I bet guys got the video about how it works with your device. 


UPDATE 


As for second question, I don't really see a point of flashing CM or something similar cause it somehow buggy. My buddie at university has got the same device as you and after all the geeky flashing stuff he decided to go along with rooted stock. 


In order to root your device - again YouTube or XDA should help you ;)