5.. Ng5+!
Black is lost if he takes on g5 with the bishop or moves the king.
For example,
5.. Ng5+ Kg7
6.. Nxf7+ Kf6
7.. Qg6#
or
6.. ... Kh7 (or Kh8)
7.. Qxh6#
or
6.. ... Bg5
7.. Qxh6+ Kxf7
8.. Qh7+ Kf6
9.. fxg5#
In the other hand,
5.. Ng5+ Bxg5
6.. fxg5 Black is lost with any play
Upss!. Yes, I mean 5. Qh5
OK ... then let's check your variation ... :)
5.. Ng5+!
Black is lost if he takes on g5 with the bishop or moves the king.
For example,
5.. Ng5+ Kg7
6.. Nxf7+ Kf6
7.. Qg6#
or
6.. ... Kh7 (or Kh8)
7.. Qxh6#
or
6.. ... Bg5
7.. Qxh6+ Kxf7
8.. Qh7+ Kf6
9.. fxg5#
In the other hand,
5.. Ng5+ Bxg5
6.. fxg5 Black is lost with any play
What now?
7.. Qxh6 Kg8
8.. Rh3 and the mate is unstoppable
8. Rh3 Rxh6 and black wins! :)