Forward Learning with Top-Down Feedback: Solving the Credit Assignment Problem without a Backward Pass