Declaration-emit class expressions as type literals
Declaration-emit class expressions as type literals

This works pretty well. Note that circular references bottom out as
`any`. Right now this happens for all type writing, not just for
declaration emit, but this is probably an improvement on average.

SaschaNaz/TypeScript,mihailik/TypeScript,kitsonk/TypeScript,alexeagle/TypeScript,Eyas/TypeScript,SaschaNaz/TypeScript,Eyas/TypeScript,chuckjaz/TypeScript,donaldpipowitch/TypeScript,kitsonk/TypeScript,synaptek/TypeScript,kitsonk/TypeScript,Microsoft/TypeScript,synaptek/TypeScript,chuckjaz/TypeScript,donaldpipowitch/TypeScript,alexeagle/TypeScript,SaschaNaz/TypeScript,kpreisser/TypeScript,basarat/TypeScript,basarat/TypeScript,TukekeSoft/TypeScript,weswigham/TypeScript,Microsoft/TypeScript,Microsoft/TypeScript,mihailik/TypeScript,microsoft/TypeScript,donaldpipowitch/TypeScript,Eyas/TypeScript,alexeagle/TypeScript,donaldpipowitch/TypeScript,chuckjaz/TypeScript,TukekeSoft/TypeScript,RyanCavanaugh/TypeScript,microsoft/TypeScript,weswigham/TypeScript,minestarks/TypeScript,minestarks/TypeScript,microsoft/TypeScript,mihailik/TypeScript,kpreisser/TypeScript,nojvek/TypeScript,chuckjaz/TypeScript,SaschaNaz/TypeScript,TukekeSoft/TypeScript,basarat/TypeScript,RyanCavanaugh/TypeScript,synaptek/TypeScript,Eyas/TypeScript,nojvek/TypeScript,weswigham/TypeScript,nojvek/TypeScript,RyanCavanaugh/TypeScript,basarat/TypeScript,nojvek/TypeScript,synaptek/TypeScript,mihailik/TypeScript,kpreisser/TypeScript,minestarks/TypeScript