From everything that you have said here it sounds like your husband could become a danger to yourself or your children in future. He is emotionally abusive, an addict, a former violent criminal and may be mentally unstable. It's just one opinion from a complete stranger, but I would urge you to leave. You have a responsibility as a mother to keep your children safe.
This doesn't mean that you have to give up on him or abandon him. You can help him to get counselling, a drug treatment program etc. and then could consider ending the separation if he cooperates with treatment, and shows that he understands that his current behaviour is completely unacceptable. But you need to make sure yourself and your children are safe and away from such a volatile environment.
Do you have family or church that can help you through this?