Lattice Boltzmann Modeling of Complex Fluids: Colloidal Suspensions and Fluid Mixtures