Regarding the mental health issue, restrictions based on insanity seem obvious. I mean, who is in favor of lunatics with weapons?
But it all comes down to whether you trust your government to define terms.
In the old Soviet Union, the insane were not allowed to be armed or own a weapon. Sounds reasonable. Problem was a committee of and appointed by communists determined who was insane. And their position was "If you are not a communist, you must be insane." So only communists had guns.
Again, do you trust someone like Obama or Holder not to appoint committees packed with ultra-liberals who will find, say Tea Party sympathizers, to be insane. Or conservatives. Or anyone who voted against Obama?