Personally, I do not think that your home is the right fit for such a dog.
He's likely having stress, upon stress, and to even begin to successfully work with him you need him to have near 0 stress for a good week or more to allow the stress hormones a chance to get out his system and have a clear slate to work with. He may also need some type of anti anxiety medication to help him deal with stress. Given your house is a busy one I do not see how that will happen in your home. I'd also never trust him alone with kids no matter how far he seems to have come, it's simply not worth the risk since he has proven himself willing to bite.
A wagging tail does NOT always indicate a happy dog, it can indicate an aroused dog. You need to read the rest of his body language while he's wagging his tail. Growling and snarling does not say he's happy, what's the rest of his body language like? Is he tense, is his head lowered, is his forehead furrowed? Is he lip licking?
Likewise rolling over and exposing the belly does not always mean a dog wants a belly rub. You have to read the test of the body language. Is the body loose or is it curved to the side like a C? Is the tail flopped out or is it tucked between the back legs? My own dog fear aggressive dog will run up to people he is O.K. with and lay on his back kind of on his side, curved in a C, his tail tucked between his legs. He does NOT want them to pet his belly. He's trying to communicate that he wants to be friends, but is scared, please don't hurt me. I try to not let him do that anymore because everyone thinks he wants a belly rub, and it makes him really anxious and scared when they give him one.
I think your boy could probably be worked with, but it will take a lot of work, and he should be in a quiet home. One without children, and with a person that does not have a lot of company over.