...hmmmm
Why don't you, first, try something a bit easier. Let your value of angle be the error term for your P controller. As long as your camera holds its tracking, you should see your robot turn to align to the camera and the value of angle will drive to 0. 0 error, 0 angle

Then keep an eye on the value you are getting from your gyro calculations (I am assuming that by gyro, you mean yaw rate sensor, and you are integrating yaw rate to calculate an angle) There could be error creeping into your gyro calculations that is causing problems with your controller.