I know what you're going through, to an extent. I didn't have the same kind of connection to my employer with the work visa, but the company was the first career-level job I had ever had. They had given me a lot of training, mentored me, and made me a much better software developer than I was when I started. I had a very close relationship with most of my coworkers and managers, and it was very much a "family environment" company. This can make it very difficult to leave. Especially when you have a manager or executive that has a difficult time accepting employee turnover. I put in my two-weeks notice Friday morning, and was asked to leave the premises by noon that day.
While they have helped you grow and have been a very influential and beneficial part of your life, you have to remember this:
This is business - While they helped with your work visa, and have seemingly done a lot for you, you have to remember this: You came to work every day, worked hard, and gave them just as much back as they have given you. Especially given how many people you filled in for, and how many hours of "extra" work you gave them. It may be hard for them to accept you leaving, but the fact is, you don't technically owe them anything.
So no, I do not under any circumstances believe that it is unethical to leave. Being an employee is a two-way relationship. Yes, they have paid you, been good to you, and offered you an opportunity to grow. But from what you've said, they've also squeezed every last drop of effort out of you that they can. They've paid you, and you've worked hard. There is no reason to feel bad about leaving.
As far as how to break the news....if you are truly attached to this place on a personal level, there won't be an easy way to do it. More to the point, if your manager tends to take employee turnover in a less-than-professional way, there may not be a way to break the news in a way that won't upset her. However, you have to be as professional about it as you can, and just "roll with the punches", as it were.
If I were you, I would draft up a formal, typed "two-weeks notice" letter. Giving two-weeks notice will be essential to professionally leaving the company. I would make several copies, if necessary. (One for your manager, one for HR, and one for your own records) and sign all of the copies by hand under your printed signature. Personally give the letter to your manager, and inform her of why you're leaving. Don't make it any more personal than needed. Simply inform her of your decision to leave, thank her for all that the company has done, express your gratitude and pride in the work that you've done, and thank her for the opportunities that you've been given and wish her well. If your manager doesn't take the news well, simply say "I'm sorry that you feel that way. I would really like to part with the company on good terms." That's about all that you can do.
Although I must stress this: DO NOT put in a two-weeks notice, or even hint at the fact that you're leaving, until you have signed an official offer letter from the company that you will be joining.
From what you've said about the work environment, I believe that this change would probably be a good move for you. Working in a "bullying" environment is never healthy, and can really make you hate the work that you're doing.
I hope that this helps. Let me know if I can go into further detail on anything. Good luck!