BOBCAT: Bilevel Optimization-Based Computerized Adaptive Testing