Obama talks guns at town hall