BrepGen: A B-rep Generative Diffusion Model with Structured Latent Geometry